//package com.xingkeduo.websocket.hanler;
//
//import javax.websocket.OnClose;
//import javax.websocket.OnError;
//import javax.websocket.OnMessage;
//import javax.websocket.OnOpen;
//import javax.websocket.Session;
//import javax.websocket.server.PathParam;
//import javax.websocket.server.ServerEndpoint;
//
//import org.springframework.stereotype.Component;
//
//import com.xingkeduo.pojo.ShopSession;
//import com.xingkeduo.util.ConstUtil;
//
//@Component
//@ServerEndpoint("/shop/online/{shopname}")
//public class ShopOnlineHandler {
//	/**
//	 * 建立连接
//	 *
//	 * @param session
//	 */
//	@OnOpen
//	public void onOpen(@PathParam("shopname") String shopName, Session session) {
//
//		try {
//			ShopSession shopSession = new ShopSession().setSession(session).setShopName(shopName);
//
//			// 把自己的信息加入到map当中去
//			ConstUtil.CLIENTS.put(shopName, shopSession);
//
//			ConstUtil.increaseOnline();
//			System.out.println(
//					"有新连接加入！ 客户id：" + session.getId() + "，用户名：" + shopName + "，当前在线人数：" + ConstUtil.getOnlineNumber());
//		} catch (Throwable e) {
//			e.printStackTrace();
//			System.out.println(shopName + "上线的时候通知所有人发生了错误");
//		}
//	}
//
//	@OnError
//	public void onError(Session session, Throwable error) {
//		System.out.println("服务端发生了错误" + error.getMessage());
//	}
//
//	/**
//	 * 连接关闭
//	 */
//	@OnClose
//	public void onClose(@PathParam("shopname") String shopName, Session session) {
//		try {
//			ConstUtil.decreaseOnline();
//			// webSockets.remove(this);
//			ConstUtil.CLIENTS.remove(shopName);
//		} catch (Throwable e) {
//			e.printStackTrace();
//			System.out.println(shopName + "下线的时候通知所有人发生了错误");
//		}
//		System.out.println("有连接关闭！ 当前在线人数" + ConstUtil.getOnlineNumber());
//	}
//
//	/**
//	 * 收到客户端的消息
//	 *
//	 * @param message
//	 *            消息
//	 * @param session
//	 *            会话
//	 */
//	@OnMessage
//	public void onMessage(String message, Session session) {
//		try {
//			System.out.println("来自客户端消息：" + message + "客户端的id是：" + session.getId());
//		} catch (Throwable e) {
//			e.printStackTrace();
//			System.out.println("发生了错误了");
//		}
//	}
//}
